x11: Trap errors around an XRandr call
authorMatthias Clasen <mclasen@redhat.com>
Fri, 4 Mar 2016 19:34:03 +0000 (14:34 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 4 Mar 2016 19:35:23 +0000 (14:35 -0500)
Apparently, we can get X errors here. Ignore them.
https://bugzilla.gnome.org/show_bug.cgi?id=762907

gdk/x11/gdkscreen-x11.c

index 063b5979223e790a8a5b316a499277cd3fb00e32..9d8ed208106cfe3ef3f6bdd2158db94461cb8ff3 100644 (file)
@@ -649,10 +649,14 @@ init_randr15 (GdkScreen *screen)
   for (i = 0; i < num_rr_monitors; i++)
     {
       RROutput output = rr_monitors[i].outputs[0];
-      XRROutputInfo *output_info =
-        XRRGetOutputInfo (x11_screen->xdisplay, resources, output);
+      XRROutputInfo *output_info;
       GdkX11Monitor monitor;
 
+      gdk_x11_display_error_trap_push (display);
+      output_info = XRRGetOutputInfo (x11_screen->xdisplay, resources, output);
+      if (gdk_x11_display_error_trap_pop (display))
+        continue;
+
       if (output_info == NULL)
         continue;